package com.cmc.cloud.cmclink.doc.mapper;

import com.cmc.cloud.cmclink.doc.api.document.req.so.SoForecastBaseVO;
import com.cmc.cloud.cmclink.doc.entity.SoForecastDO;
import com.cmc.cloud.cmclink.doc.vo.sovo.soforecastvo.SoForecastCntrSumVO;
import com.cmc.cloud.cmclink.doc.vo.sovo.soforecastvo.SoForecastSumVO;
import com.cmes.framework.mybatis.core.mapper.BaseMapperX;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 订舱预配信息 Mapper
 *
 * @author 招商轮船-管理员
 */
@Mapper
public interface SoForecastMapper extends BaseMapperX<SoForecastDO> {
    /**
     * 预配汇总信息
     *
     * @param soIds soIDS
     * @return 汇总信息
     */
    List<SoForecastSumVO> selectSumBySoIds(@Param("soIds") List<Long> soIds);

    /**
     * 全量箱数据统计第二步获取SOID
     *
     * @param soIds soIds
     * @return
     */
    List<SoForecastBaseVO> rpcQuerySoCntrInfo(@Param("soIds") List<Long> soIds);

    /**
     * 预配汇总信息
     *
     * @param bookingNo bookingNo
     * @return 汇总信息
     */
    List<SoForecastBaseVO> selectByBookingNo(@Param("bookingNo") String bookingNo);

    /**
     * 预配汇总信息
     *
     * @param bookingNos bookingNos
     * @return 汇总信息
     */
    List<SoForecastCntrSumVO> selectSumDescByBookingNo(@Param("bookingNos") List<String> bookingNos);
}
